package com.example.entity.vo.request;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
 * 作者:xuSen
 * 日期2025/4/19 14:58
 * 邮箱注册视图对象类
 * 用于处理邮箱注册时的数据验证和封装
 */
@Data
public class EmailRegisterVo {
    /**
     * 邮箱字段
     * 使用@Email注解验证输入是否为有效的邮箱地址
     */
    @Email
    private String email;

    /**
     * 验证码字段
     * 使用@Length注解限制验证码长度为6位
     */
    @Length(min = 6, max = 6)
    private String code;

    /**
     * 用户名字段
     * 使用@Pattern注解限制用户名只能包含字母、数字和中文字符
     * 使用@Length注解限制用户名长度为1到10个字符
     */
    @Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5]+$")
    @Length(min = 1, max = 10)
    private String username;

    /**
     * 密码字段
     * 使用@Length注解限制密码长度为6到10个字符
     */
    @Length(min = 6, max = 10)
    private String password;
}

